<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>带来的意义</title>
  <style>
    div, li, p {
      line-height: 40px;
    }
    span {
      color: red;
    }
  </style>
</head>
<body>
  <ul>
    <li>
      浏览器中除了 v8作为 Javascript 引擎外，还有一个 Webkit 布局引擎
    </li>
    <li>
      在 node 中，javascript 可以随心所欲的访问本地文件，可以搭建 webSocket 服务端，可以连接数据库，可以向 Web worker那样玩转多进程
    </li>
    <li>
      node不处理 UI，但用与浏览器相同的机制和运行原理。
    </li>
    <li>
      作为后端 Javascript的运行平台，Node 保留了前端浏览器 Javascript中那些熟悉的接口，没有改写语言本身的特性，依旧基于作用域和原型链。区别在于它将前端中广泛运用的思想迁移到了服务端。
    </li>
    <li>
      <h3>
        Node 的特点
      </h3>
      <ul>
        <li>
          异步 I/O：类似于 AJAX，可以同时执行多个异步的任务
        </li>
        <li>
          在 Node 中，绝大多数的操作都是异步调用的。
        </li>
        <li>
          单线程：单线程的优势是不必考虑多线程那样，处处在意状态的同步问题，也没有上下文交换所带来的性能上的开销。缺点是无法利用多核 cpu，大量的计算长时间的占用 CPU 导致后续的异步 I/O 发不出调用，已完成的回调函数也不会立即得到执行
        </li>
        <li>
          node 借用 webpack workers 的思路去解决大量计算的问题：child_process
        </li>
        <li>
          nodeJS 可以适用于各个平台
        </li>
      </ul>
    </li>
  </ul>
</body>
</html>